--POUR CONTROLE

define erp='erp_mli2.';
define outils='outils_mli2.';


/*SELECT * FROM (
SELECT &outils.stragg(source) source,FOURNISSEUR_COD,ENREG_ID,ADRESSE_ID,FOURADR_COD,FOURADR_PIECE_NO,ENREG_S,FOURADR_TYP,IMPLICITE_OK,EXCEPT_OK,AFF_NOM FROM (
  SELECT 'uv' source,a.* FROM se_ach_fouradr a
  UNION ALL
  SELECT 'se' source,a.* FROM &erp.ach_fouradr a
) group BY FOURNISSEUR_COD,ENREG_ID,ADRESSE_ID,FOURADR_COD,FOURADR_PIECE_NO,ENREG_S,FOURADR_TYP,IMPLICITE_OK,EXCEPT_OK,AFF_NOM
HAVING Count(1) !=2   )
ORDER BY fournisseur_cod */

DELETE FROM  se_ach_fouradr;


INSERT INTO se_ach_fouradr
 (SELECT ID fournisseur_cod,
         0 enreg_id,
         0 adresse_id,
         '000' fouradr_cod,
         0 fouradr_piece_no,
         'N' enreg_s,
         NULL fouradr_typ,
         NULL implicite_ok,
         NULL except_ok,
         Trim(SubStr(nom ||' ' || CP ||' ' || ville  ||' ' || adr1 ||' ' || adr2,0,80)) aff_nom
    FROM uv_pfournisseurs) ;

/*maj enreg_id*/
 UPDATE se_ach_fouradr tf
 SET enreg_id = (select enreg_id FROM &erp.ach_fouradr f WHERE f.fournisseur_cod=tf.fournisseur_cod AND f.FOURADR_COD='000')
 WHERE EXISTS (SELECT 1 FROM &erp.ach_fouradr f WHERE f.fournisseur_cod=tf.fournisseur_cod AND f.FOURADR_COD='000');

 UPDATE se_ach_fouradr SET enreg_id=&outils.enreg_id.NEXTVAL WHERE enreg_id IS NULL OR enreg_id =0;


/*maj adresse_id*/
 UPDATE se_ach_fouradr tf
 SET adresse_id = (select adresse_id FROM &erp.ach_fouradr f WHERE f.fournisseur_cod=tf.fournisseur_cod AND f.FOURADR_COD='000')
 WHERE EXISTS (SELECT 1 FROM &erp.ach_fouradr f WHERE f.fournisseur_cod=tf.fournisseur_cod AND f.FOURADR_COD='000');

 UPDATE se_ach_fouradr SET adresse_id=&outils.gen_adresse.NEXTVAL WHERE adresse_id IS NULL OR adresse_id =0;


commit;
